home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / COMAL / Z-Misc Series / (k)zd.d64 / txt.delink < prev    next >
Text File  |  2007-03-01  |  3KB  |  158 lines

  1. ─┼╠╔╬╦ ┴ ╨┴├╦┴╟┼
  2.  
  3. BY ─ICK ╦LINGENS, ─UTCH ├╧═┴╠ ╒SERS
  4. ╟ROUP
  5.  
  6. "╥OD THE ROADMAN" HAS A NICE LINKED
  7. PACKAGE: DOPPELSKAERM (DANISH FOR
  8. DUAL SCREEN). ╘HE PACKAGE COPIES
  9. (DANISH: GEM) A HIRES SCREEN INTO
  10. ANOTHER MEMORY AREA. ┴ND AFTER THAT
  11. IT IS POSSIBLE TO SWAP (DANISH:
  12. SKIFT) THAT SCREEN WITH THE CURRENT
  13. HIRES SCREEN.
  14.  
  15. ┼XAMPLE.
  16.  
  17. ╒╙┼ DOPPELSKAERM
  18. ╒╙┼ GRAPHICS
  19. FULLSCREEN
  20. MAKE'FIRST'SCREEN
  21. GEM
  22. MAKE'SECOND'SCREEN
  23. ╞╧╥ T:=1 ╘╧ 10 DO SKIFT
  24. //
  25. ╨╥╧├ MAKE'FIRST'SCREEN
  26.   ╞╧╥ RAD:=1 ╘╧ 51 ╙╘┼╨ 3 ─╧
  27.     CIRCLE(160,100,RAD)
  28.   ┼╬─╞╧╥ RAD
  29. ┼╬─╨╥╧├ MAKE'FIRST'SCREEN
  30. //
  31. ╨╥╧├ MAKE'SECOND'SCREEN
  32.   ╞╧╥ RAD:=2 ╘╧ 52 ╙╘┼╨ 3 ─╧
  33.     CIRCLE(160,100,RAD)
  34.   ┼╬─╞╧╥ RAD
  35. ┼╬─╨╥╧├ MAKE'SECOND'SCREEN
  36.  
  37. ╔ WANTED TO USE THAT PACKAGE IN
  38. ANOTHER PROGRAM (THE ABOVE).
  39. ─ELINKING A PACKAGE FROM A PROGRAM IS
  40. EASY TO DO.
  41.  
  42. ╠OAD THE PROGRAM WITH THE LINKED
  43. PACKAGE AND TYPE:
  44.  
  45.    ─┼╠ 1-
  46.  
  47. LEAVING ONLY THE PACKAGE IN MEMORY.
  48.  
  49. ╘HEN
  50.  
  51.    ═┼╥╟┼ "LST.DELINK"
  52.  
  53. AND TYPE 
  54.  
  55.    ╥╒╬
  56.  
  57. ╘HE PROGRAM WRITES A BINARY MEMORY
  58. IMAGE INTO A DISK FILE WITH TYPE ╨╥╟.
  59. ╘HEN USE THE PROGRAM:
  60.  
  61.    MAKE'OBJECT'FILE
  62.  
  63. TO CREATE THE ╠╔╬╦ FILE.
  64.  
  65. ╘HE PROGRAM ─┼╠╔╬╦ MUST BE ═┼╥╟┼D
  66. INTO MEMORY BECAUSE ╠╧┴─ING WILL
  67. ERASE THE WANTED PACKAGE. ╚ERE
  68. FOLLOWS THE ─┼╠╔╬╦ PROGRAM.
  69.  
  70. // ─┼╠┼╘┼ "LST.DELINK"
  71. // ╠╔╙╘   "LST.DELINK"
  72. //
  73. ╒╙┼ SYSTEM
  74. LIBLO:=$C7F0
  75. LIBHI:=$C7FA
  76. LIBPAG:=$C804
  77. LIBPT:=$C7EF //    LIBRARY POINTER
  78. NLIB:=╨┼┼╦(LIBPT)
  79. // NUMBER OF LIBRARIES
  80. SHOW'NAMES
  81. CHOICE(NUM)
  82. LO:=╨┼┼╦(LIBLO+NUM-1)
  83. HI:=╨┼┼╦(LIBHI+NUM-1)
  84. PAG:=╨┼┼╦(LIBPAG+NUM-1)
  85. // LIBRARY IS ON PAGE PAG
  86. SETPAGE(PAG)
  87. AD'START:=LO+256*HI
  88. AD'END:=╨┼┼╦(AD'START+1)+256*╨┼┼╦(
  89.         AD'START+2)
  90. // START & END ADDRESS
  91. MAKE'FILE(AD'START,AD'END)
  92. ┼╬─ "─ONE"
  93. //
  94. ╨╥╧├ SHOW'NAMES 
  95.   ╨╥╔╬╘ 
  96.   ╨╥╔╬╘ "─┼╠╔╬╦"
  97.   ╨╥╔╬╘ 
  98.   ╨╥╔╬╘ "╨ACKAGES IN MEMORY ARE:"
  99.   ╨╥╔╬╘ 
  100.   ╞╧╥ T:=1 ╘╧ NLIB ─╧
  101.     LO:=╨┼┼╦(LIBLO+T-1)
  102.     HI:=╨┼┼╦(LIBHI+T-1)
  103.     START:=LO+256*HI
  104.     PAG:=╨┼┼╦(LIBPAG+T-1)
  105.     SETPAGE(PAG)
  106.     ╨╥╔╬╘ ╒╙╔╬╟ "##) ": T,
  107.     ╨╥╔╬╘ NAME$(START)
  108.   ┼╬─╞╧╥ T
  109. ┼╬─╨╥╧├ SHOW'NAMES
  110. //
  111. ╞╒╬├ NAME$(X) ├╠╧╙┼─
  112.   L:=╨┼┼╦(X+5)
  113.   // LENGTH OF PACKAGE NAME
  114.   ─╔═ R$ ╧╞ L
  115.   ╞╧╥ T:=1 ╘╧ L ─╧
  116.     R$:+├╚╥$(╨┼┼╦(X+5+T))
  117.   ┼╬─╞╧╥ T
  118.   ╥┼╘╒╥╬ R$
  119. ┼╬─╞╒╬├ NAME$
  120. //
  121. ╨╥╧├ CHOICE(╥┼╞ NUM) ├╠╧╙┼─
  122.   ╔═╨╧╥╘ NLIB,CURROW,CURCOL
  123.   ╨╥╔╬╘ 
  124.   X:=CURROW; Y:=CURCOL
  125.   ╥┼╨┼┴╘ 
  126.     ╔╬╨╒╘ ┴╘ X,Y,2: "╘YPE NUMBER: ":
  127.     NUM
  128.   ╒╬╘╔╠ NUM>=0 ┴╬─ NUM<=NLIB
  129.   ╔╞ NUM=0 ╘╚┼╬ ┼╬─ "┼ND OF PROGRAM"
  130. ┼╬─╨╥╧├ CHOICE
  131. //
  132. ╨╥╧├ MAKE'FILE(FROM,TO') ├╠╧╙┼─
  133.   ╔═╨╧╥╘ CURROW,CURCOL
  134.   ─╔═ F$ ╧╞ 16
  135.   ╨╥╔╬╘ 
  136.   X:=CURROW; Y:=CURCOL
  137.   ╥┼╨┼┴╘ 
  138.     ╔╬╨╒╘ ┴╘ X,Y,12: "╞ILENAME: BIN.
  139.     ": F$
  140.   ╒╬╘╔╠ F$<>""
  141.   F$:="BIN."+F$
  142.   ╨╥╔╬╘
  143.   ╨╥╔╬╘ "╫ORKING..."
  144.   ─┼╠┼╘┼ F$
  145.   ╧╨┼╬ ╞╔╠┼ 1,F$"+,P",╫╥╔╘┼
  146.   ╨╥╔╬╘ ╞╔╠┼ 1: ├╚╥$(FROM ═╧─ 256),
  147.   ╨╥╔╬╘ ╞╔╠┼ 1: ├╚╥$(FROM ─╔╓ 256),
  148.   //    START ADRESS OF THE PACKAGE
  149.   // MEMORY IMAGE:
  150.   ╞╧╥ T:=FROM ╘╧ TO'-1 ─╧
  151.     ╨╥╔╬╘ ╞╔╠┼ 1: ├╚╥$(╨┼┼╦(T)),
  152.   ┼╬─╞╧╥ T
  153.   ├╠╧╙┼
  154. ┼╬─╨╥╧├ MAKE'FILE
  155.  
  156. ╘HERE IS A SECOND EXAMPLE IN THE
  157. PROGRAM ┼╪┴═.─╒┴╠╙├╥┼┼╬.
  158.